{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "9428c626",
   "metadata": {
    "collapsed": false
   },
   "source": [
    "该Notebook实现了论文 [Federated Learning with Personalization Layers](https://arxiv.org/abs/1912.00818) 中的数据异质性划分方法，并基于 FedPer 策略完成个性化联邦实验。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "d19ebe26-bcca-426b-a3b6-6e3571437394",
   "metadata": {},
   "outputs": [],
   "source": [
    "%load_ext autoreload\n",
    "%autoreload 2"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "b7153d18-f074-478b-bcc1-5d3fa7c449fe",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "The version of SecretFlow: 1.3.0.dev20231206\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2023-12-09 02:32:15,527\tINFO worker.py:1538 -- Started a local Ray instance.\n"
     ]
    }
   ],
   "source": [
    "import secretflow as sf\n",
    "\n",
    "# Check the version of your SecretFlow\n",
    "print(\"The version of SecretFlow: {}\".format(sf.__version__))\n",
    "\n",
    "# In case you have a running secretflow runtime already.\n",
    "sf.shutdown()\n",
    "\n",
    "sf.init([\"alice\", \"bob\", \"charlie\"], address=\"local\")\n",
    "alice, bob, charlie = sf.PYU(\"alice\"), sf.PYU(\"bob\"), sf.PYU(\"charlie\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "11ca2ac5-9bcc-4b78-ab93-113690096100",
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2023-12-09 02:32:20.191571: W tensorflow/compiler/xla/stream_executor/platform/default/dso_loader.cc:64] Could not load dynamic library 'libcudart.so.11.0'; dlerror: libcudart.so.11.0: cannot open shared object file: No such file or directory\n",
      "2023-12-09 02:32:20.832637: W tensorflow/compiler/xla/stream_executor/platform/default/dso_loader.cc:64] Could not load dynamic library 'libnvinfer.so.7'; dlerror: libnvinfer.so.7: cannot open shared object file: No such file or directory\n",
      "2023-12-09 02:32:20.832693: W tensorflow/compiler/xla/stream_executor/platform/default/dso_loader.cc:64] Could not load dynamic library 'libnvinfer_plugin.so.7'; dlerror: libnvinfer_plugin.so.7: cannot open shared object file: No such file or directory\n",
      "2023-12-09 02:32:20.832698: W tensorflow/compiler/tf2tensorrt/utils/py_utils.cc:38] TF-TRT Warning: Cannot dlopen some TensorRT libraries. If you would like to use Nvidia GPU with TensorRT, please make sure the missing libraries mentioned above are installed properly.\n"
     ]
    }
   ],
   "source": [
    "from secretflow_fl.ml.nn.core.torch import (\n",
    "    BaseModule,\n",
    "    TorchModel,\n",
    "    metric_wrapper,\n",
    "    optim_wrapper,\n",
    ")\n",
    "from secretflow_fl.ml.nn import FLModel\n",
    "from torchmetrics import Accuracy, Precision\n",
    "from secretflow.security.aggregation import SecureAggregator\n",
    "from secretflow_fl.utils.simulation.datasets_fl import load_mnist\n",
    "from torch import nn, optim\n",
    "from torch.nn import functional as F"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "64b86331-eeef-481c-bae7-1feef94ba861",
   "metadata": {},
   "outputs": [],
   "source": [
    "class SimpleCNN(BaseModule):\n",
    "    def __init__(self):\n",
    "        super(SimpleCNN, self).__init__()\n",
    "        self.conv1 = nn.Conv2d(3, 16, kernel_size=3, stride=1, padding=1)\n",
    "        self.conv2 = nn.Conv2d(16, 32, kernel_size=3, stride=1, padding=1)\n",
    "        self.fc = nn.Linear(32 * 8 * 8, 10)\n",
    "\n",
    "    def forward(self, x):\n",
    "        x = F.relu(self.conv1(x))\n",
    "        x = F.max_pool2d(x, 2, 2)\n",
    "        x = F.relu(self.conv2(x))\n",
    "        x = F.max_pool2d(x, 2, 2)\n",
    "        x = x.view(-1, 32 * 8 * 8)\n",
    "        x = self.fc(x)\n",
    "        return x"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "c085a680-41cd-4961-82c8-a658fb12eeb7",
   "metadata": {},
   "source": [
    "为了实现论文中数据异质性的划分方法，依据secretflow/utils/simulation/datasets.py中加载数据集的方法写load_cifar10数据集加载方法，其中num_classes_per_client是每个客户端的随机数据集类别数，论文中取[4,8,10], 类别越少每个客户端数据集差异越明显, 每个客户端数据总量相同，如果某一类图像不够允许重复采样。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "0d166b09-5f18-4d64-ac07-4e283e149dda",
   "metadata": {},
   "outputs": [],
   "source": [
    "from typing import Dict, List, Tuple, Union\n",
    "import numpy as np\n",
    "from secretflow.data.ndarray import FedNdarray, PartitionWay\n",
    "from secretflow.device.device.pyu import PYU\n",
    "from torchvision.datasets import CIFAR10\n",
    "from torchvision import transforms\n",
    "from torch.utils.data import DataLoader\n",
    "\n",
    "\n",
    "def load_cifar10(\n",
    "    parts: Union[List[PYU], Dict[PYU, Union[float, Tuple]]],\n",
    "    batch_size: int = 1,\n",
    "    is_torch: bool = True,\n",
    "    num_classes_per_client=4,\n",
    ") -> Tuple[Tuple[FedNdarray, FedNdarray], Tuple[FedNdarray, FedNdarray]]:\n",
    "    \"\"\"Load CIFAR-10 dataset to federated ndarrays.\n",
    "\n",
    "    Args:\n",
    "        parts: the data partitions.\n",
    "        batch_size: Batch size for the DataLoader.\n",
    "        is_torch: optional, return torch tensors if True. Default to True.\n",
    "        num_classes_per_client: the random classes number of per client.\n",
    "\n",
    "    Returns:\n",
    "        A tuple consists of two tuples, (x_train, y_train) and (x_test, y_test).\n",
    "    \"\"\"\n",
    "    transform = transforms.Compose(\n",
    "        [transforms.ToTensor(), transforms.Normalize((0.5, 0.5, 0.5), (0.5, 0.5, 0.5))]\n",
    "    )\n",
    "\n",
    "    # Load CIFAR-10 training and testing sets\n",
    "    trainset = CIFAR10(root=\"./data\", train=True, download=True, transform=transform)\n",
    "    testset = CIFAR10(root=\"./data\", train=False, download=True, transform=transform)\n",
    "\n",
    "    # Using DataLoader for Batch Processing\n",
    "    trainloader = DataLoader(trainset, batch_size=batch_size, shuffle=True)\n",
    "    testloader = DataLoader(testset, batch_size=batch_size, shuffle=False)\n",
    "\n",
    "    # Convert DataLoader to a format that SecretFlow can handle\n",
    "    train_data, train_labels = _convert_to_fedndarray(\n",
    "        trainloader, parts, is_torch, num_classes_per_client\n",
    "    )\n",
    "    test_data, test_labels = _convert_to_fedndarray(\n",
    "        testloader, parts, is_torch, num_classes_per_client\n",
    "    )\n",
    "\n",
    "    return ((train_data, train_labels), (test_data, test_labels))\n",
    "\n",
    "\n",
    "def create_cifar10_ndarray(\n",
    "    data, labels, parts, is_torch=False, num_classes_per_client=4\n",
    "):\n",
    "    assert len(data) == len(labels), \"Data and labels must have the same length\"\n",
    "    class_indices = {i: np.where(labels == i)[0] for i in range(10)}\n",
    "\n",
    "    # Class assigned to each PYU\n",
    "    pyu_classes = {}\n",
    "    total_samples = len(data)\n",
    "    for idx, pyu in enumerate(parts.keys()):\n",
    "        np.random.seed(idx)\n",
    "        pyu_classes[pyu] = np.random.choice(10, num_classes_per_client, replace=False)\n",
    "\n",
    "    # Assign data and labels to each PYU\n",
    "    pyu_data = {}\n",
    "    pyu_labels = {}\n",
    "    for pyu, proportion in parts.items():\n",
    "        pyu_sample_size = int(\n",
    "            total_samples * proportion\n",
    "        )  # Calculate the sample size for each PYU\n",
    "        # Sample data from selected classes for each PYU\n",
    "        indices = np.concatenate(\n",
    "            [\n",
    "                np.random.choice(\n",
    "                    class_indices[cls],\n",
    "                    size=pyu_sample_size // num_classes_per_client,\n",
    "                    replace=True,\n",
    "                )\n",
    "                for cls in pyu_classes[pyu]\n",
    "            ]\n",
    "        )\n",
    "        np.random.shuffle(indices)\n",
    "        pyu_data[pyu] = data[indices]\n",
    "        pyu_labels[pyu] = labels[indices]\n",
    "        # Print the amount of data and random classes for each PYU\n",
    "        print(\n",
    "            f\"the sample size of {pyu} is {len(pyu_data[pyu])}, random classes are {pyu_classes[pyu]}.\"\n",
    "        )\n",
    "        # print(pyu_labels[pyu][0].dtype)\n",
    "\n",
    "    # Convert data and labels to FedNdarray\n",
    "    data_fedndarray = FedNdarray(\n",
    "        partitions={pyu: pyu(lambda arr: arr)(pyu_data[pyu]) for pyu in parts.keys()},\n",
    "        partition_way=PartitionWay.HORIZONTAL,\n",
    "    )\n",
    "\n",
    "    labels_fedndarray = FedNdarray(\n",
    "        partitions={pyu: pyu(lambda arr: arr)(pyu_labels[pyu]) for pyu in parts.keys()},\n",
    "        partition_way=PartitionWay.HORIZONTAL,\n",
    "    )\n",
    "\n",
    "    return data_fedndarray, labels_fedndarray\n",
    "\n",
    "\n",
    "def _convert_to_fedndarray(dataloader, parts, is_torch, num_classes_per_client):\n",
    "    data_list = []\n",
    "    label_list = []\n",
    "    for data, label in dataloader:\n",
    "        if is_torch:\n",
    "            data = data.numpy()\n",
    "            label = label.numpy()\n",
    "        data_list.append(data)\n",
    "        label_list.append(label)\n",
    "\n",
    "    return create_cifar10_ndarray(\n",
    "        np.concatenate(data_list),\n",
    "        np.concatenate(label_list),\n",
    "        parts=parts,\n",
    "        is_torch=is_torch,\n",
    "        num_classes_per_client=num_classes_per_client,\n",
    "    )"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "767ce881-fa39-46bc-95ab-7a3758927ae8",
   "metadata": {},
   "source": [
    "这里使用两个客户端做演示，每个客户端数据量为10%，即5000训练集和1000验证集，客户端图像类别数为4。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "679f4f01-e599-49e3-bd71-0abe81a7d11e",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Files already downloaded and verified\n",
      "Files already downloaded and verified\n",
      "the sample size of alice is 5000, random classes are [2 8 4 9].\n",
      "the sample size of bob is 5000, random classes are [2 9 6 4].\n",
      "the sample size of alice is 1000, random classes are [2 8 4 9].\n",
      "the sample size of bob is 1000, random classes are [2 9 6 4].\n"
     ]
    }
   ],
   "source": [
    "(train_data, train_label), (test_data, test_label) = load_cifar10(\n",
    "    parts={alice: 0.1, bob: 0.1},\n",
    "    is_torch=True,\n",
    "    num_classes_per_client=4,\n",
    ")\n",
    "\n",
    "loss_fn = nn.CrossEntropyLoss\n",
    "optim_fn = optim_wrapper(optim.SGD, lr=0.01)\n",
    "model_def = TorchModel(\n",
    "    model_fn=SimpleCNN,\n",
    "    loss_fn=loss_fn,\n",
    "    optim_fn=optim_fn,\n",
    "    metrics=[\n",
    "        metric_wrapper(Accuracy, task=\"multiclass\", num_classes=10, average=\"micro\"),\n",
    "        metric_wrapper(Precision, task=\"multiclass\", num_classes=10, average=\"micro\"),\n",
    "    ],\n",
    ")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "1c03c187-e98c-4d86-a5f0-59712ffeb513",
   "metadata": {},
   "source": [
    "先打印出模型结构来确认客户端个性层数量Kp，注意Kp和模型的层数不同，模型参数列表中倒数Kp层是个性层。默认Kp为2指定的是全连接层的weight和bias，即下方打印的fc.weight和fc.bias。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "34e6ee4b-10b8-4472-a8f8-8c20b2a2be20",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "conv1.weight torch.Size([16, 3, 3, 3])\n",
      "conv1.bias torch.Size([16])\n",
      "conv2.weight torch.Size([32, 16, 3, 3])\n",
      "conv2.bias torch.Size([32])\n",
      "fc.weight torch.Size([10, 2048])\n",
      "fc.bias torch.Size([10])\n"
     ]
    }
   ],
   "source": [
    "net = SimpleCNN()\n",
    "for name, param in net.named_parameters():\n",
    "    print(name, param.shape)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "355305f9-e61d-4d11-98af-0fa99cf72422",
   "metadata": {},
   "source": [
    "要使用FedPer策略，指定strategy='fed_per'，超参数Kp指定客户端个性化层的数量。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "id": "84c39adf-d10d-48e4-8558-f84b77706a9a",
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "INFO:root:Create proxy actor <class 'secretflow.security.aggregation.secure_aggregator._Masker'> with party alice.\n",
      "INFO:root:Create proxy actor <class 'secretflow.security.aggregation.secure_aggregator._Masker'> with party bob.\n",
      "INFO:root:Create proxy actor <class 'secretflow_fl.ml.nn.fl.backend.torch.strategy.fed_per.PYUFedPer'> with party alice.\n",
      "INFO:root:Create proxy actor <class 'secretflow_fl.ml.nn.fl.backend.torch.strategy.fed_per.PYUFedPer'> with party bob.\n",
      "\u001b[2m\u001b[36m(pid=2057089)\u001b[0m 2023-12-09 02:37:14.925847: W tensorflow/compiler/xla/stream_executor/platform/default/dso_loader.cc:64] Could not load dynamic library 'libcudart.so.11.0'; dlerror: libcudart.so.11.0: cannot open shared object file: No such file or directory\n",
      "\u001b[2m\u001b[36m(pid=2057154)\u001b[0m 2023-12-09 02:37:15.025396: W tensorflow/compiler/xla/stream_executor/platform/default/dso_loader.cc:64] Could not load dynamic library 'libcudart.so.11.0'; dlerror: libcudart.so.11.0: cannot open shared object file: No such file or directory\n",
      "\u001b[2m\u001b[36m(pid=2057089)\u001b[0m 2023-12-09 02:37:15.519088: W tensorflow/compiler/xla/stream_executor/platform/default/dso_loader.cc:64] Could not load dynamic library 'libnvinfer.so.7'; dlerror: libnvinfer.so.7: cannot open shared object file: No such file or directory\n",
      "\u001b[2m\u001b[36m(pid=2057089)\u001b[0m 2023-12-09 02:37:15.519150: W tensorflow/compiler/xla/stream_executor/platform/default/dso_loader.cc:64] Could not load dynamic library 'libnvinfer_plugin.so.7'; dlerror: libnvinfer_plugin.so.7: cannot open shared object file: No such file or directory\n",
      "\u001b[2m\u001b[36m(pid=2057089)\u001b[0m 2023-12-09 02:37:15.519157: W tensorflow/compiler/tf2tensorrt/utils/py_utils.cc:38] TF-TRT Warning: Cannot dlopen some TensorRT libraries. If you would like to use Nvidia GPU with TensorRT, please make sure the missing libraries mentioned above are installed properly.\n",
      "\u001b[2m\u001b[36m(pid=2057154)\u001b[0m 2023-12-09 02:37:15.617879: W tensorflow/compiler/xla/stream_executor/platform/default/dso_loader.cc:64] Could not load dynamic library 'libnvinfer.so.7'; dlerror: libnvinfer.so.7: cannot open shared object file: No such file or directory\n",
      "\u001b[2m\u001b[36m(pid=2057154)\u001b[0m 2023-12-09 02:37:15.617947: W tensorflow/compiler/xla/stream_executor/platform/default/dso_loader.cc:64] Could not load dynamic library 'libnvinfer_plugin.so.7'; dlerror: libnvinfer_plugin.so.7: cannot open shared object file: No such file or directory\n",
      "\u001b[2m\u001b[36m(pid=2057154)\u001b[0m 2023-12-09 02:37:15.617953: W tensorflow/compiler/tf2tensorrt/utils/py_utils.cc:38] TF-TRT Warning: Cannot dlopen some TensorRT libraries. If you would like to use Nvidia GPU with TensorRT, please make sure the missing libraries mentioned above are installed properly.\n"
     ]
    }
   ],
   "source": [
    "device_list = [alice, bob]\n",
    "server = charlie\n",
    "aggregator = SecureAggregator(server, [alice, bob])\n",
    "\n",
    "# spcify params\n",
    "fl_model = FLModel(\n",
    "    server=server,\n",
    "    device_list=device_list,\n",
    "    model=model_def,\n",
    "    aggregator=aggregator,\n",
    "    strategy=\"fed_per\",  # fl strategy\n",
    "    # strategy='fed_avg_w',\n",
    "    backend=\"torch\",\n",
    "    Kp=2,\n",
    ")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "5c8ba884-f0e1-4875-b5ef-83e31ba75993",
   "metadata": {},
   "source": [
    "模型训练，这里以16个epoch为例，选用不同策略后需要重新训练并画出结果。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "id": "c495f2ec-6494-45e2-a763-ad21f25c0af9",
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "INFO:root:FL Train Params: {'x': FedNdarray(partitions={PYURuntime(alice): <secretflow.device.device.pyu.PYUObject object at 0x7f70e76b7a90>, PYURuntime(bob): <secretflow.device.device.pyu.PYUObject object at 0x7f70e767b370>}, partition_way=<PartitionWay.HORIZONTAL: 'horizontal'>), 'y': FedNdarray(partitions={PYURuntime(alice): <secretflow.device.device.pyu.PYUObject object at 0x7f70e767b8b0>, PYURuntime(bob): <secretflow.device.device.pyu.PYUObject object at 0x7f70e767b550>}, partition_way=<PartitionWay.HORIZONTAL: 'horizontal'>), 'batch_size': 128, 'batch_sampling_rate': None, 'epochs': 16, 'verbose': 1, 'callbacks': None, 'validation_data': (FedNdarray(partitions={PYURuntime(alice): <secretflow.device.device.pyu.PYUObject object at 0x7f70e767bd90>, PYURuntime(bob): <secretflow.device.device.pyu.PYUObject object at 0x7f70e767bdc0>}, partition_way=<PartitionWay.HORIZONTAL: 'horizontal'>), FedNdarray(partitions={PYURuntime(alice): <secretflow.device.device.pyu.PYUObject object at 0x7f70e767b9d0>, PYURuntime(bob): <secretflow.device.device.pyu.PYUObject object at 0x7f70e767b580>}, partition_way=<PartitionWay.HORIZONTAL: 'horizontal'>)), 'shuffle': False, 'class_weight': None, 'sample_weight': None, 'validation_freq': 1, 'aggregate_freq': 4, 'label_decoder': None, 'max_batch_size': 20000, 'prefetch_buffer_size': None, 'sampler_method': 'batch', 'random_seed': 50166, 'dp_spent_step_freq': None, 'audit_log_dir': None, 'dataset_builder': None, 'wait_steps': 100, 'self': <secretflow_fl.ml.nn.fl.fl_model.FLModel object at 0x7f70e5038070>}\n",
      "Train Processing: :   0%|                                                             | 0/40 [00:00<?, ?it/s]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch 1/16\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "Train Processing: :  90%|██████████████████████████████████████████████▊     | 36/40 [00:02<00:00, 17.82it/s]/home/cyf/anaconda3/envs/secretflow/lib/python3.8/site-packages/secretflow/ml/nn/metrics.py:59: UserWarning: Please pay attention to local metrics, global only do naive aggregation.\n",
      "  warnings.warn(\n",
      "2023-12-09 02:37:28.389691: W tensorflow/compiler/xla/stream_executor/platform/default/dso_loader.cc:64] Could not load dynamic library 'libcusolver.so.11'; dlerror: libcusolver.so.11: cannot open shared object file: No such file or directory\n",
      "2023-12-09 02:37:28.389790: W tensorflow/core/common_runtime/gpu/gpu_device.cc:1934] Cannot dlopen some GPU libraries. Please make sure the missing libraries mentioned above are installed properly if you would like to use GPU. Follow the guide at https://www.tensorflow.org/install/gpu for how to download and setup the required libraries for your platform.\n",
      "Skipping registering GPU devices...\n",
      "Train Processing: :  90%|▉| 36/40 [00:02<00:00, 12.98it/s, {'multiclassaccuracy': 0.28509998, 'multiclassprec\n",
      "Train Processing: :   0%|                                                             | 0/40 [00:00<?, ?it/s]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch 2/16\n",
      "\u001b[2m\u001b[36m(PYUFedPer pid=2057089)\u001b[0m {'train-loss': 1.448589563369751, 'train_multiclassaccuracy': tensor(0.2626), 'train_multiclassprecision': tensor(0.2626), 'val_eval_multiclassaccuracy': tensor(0.2650), 'val_eval_multiclassprecision': tensor(0.2650)}\n",
      "\u001b[2m\u001b[36m(PYUFedPer pid=2057154)\u001b[0m {'train-loss': 1.5199013948440552, 'train_multiclassaccuracy': tensor(0.3076), 'train_multiclassprecision': tensor(0.3076), 'val_eval_multiclassaccuracy': tensor(0.4010), 'val_eval_multiclassprecision': tensor(0.4010)}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "Train Processing: :  90%|▉| 36/40 [00:02<00:00, 13.82it/s, {'multiclassaccuracy': 0.41939998, 'multiclassprec\n",
      "Train Processing: :   0%|                                                             | 0/40 [00:00<?, ?it/s]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch 3/16\n",
      "\u001b[2m\u001b[36m(PYUFedPer pid=2057089)\u001b[0m {'train-loss': 1.147400975227356, 'train_multiclassaccuracy': tensor(0.4236), 'train_multiclassprecision': tensor(0.4236), 'val_eval_multiclassaccuracy': tensor(0.3920), 'val_eval_multiclassprecision': tensor(0.3920)}\n",
      "\u001b[2m\u001b[36m(PYUFedPer pid=2057154)\u001b[0m {'train-loss': 1.3234343528747559, 'train_multiclassaccuracy': tensor(0.4152), 'train_multiclassprecision': tensor(0.4152), 'val_eval_multiclassaccuracy': tensor(0.3530), 'val_eval_multiclassprecision': tensor(0.3530)}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "Train Processing: :  90%|▉| 36/40 [00:02<00:00, 13.88it/s, {'multiclassaccuracy': 0.4761, 'multiclassprecisio\n",
      "Train Processing: :   0%|                                                             | 0/40 [00:00<?, ?it/s]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch 4/16\n",
      "\u001b[2m\u001b[36m(PYUFedPer pid=2057089)\u001b[0m {'train-loss': 0.9748537540435791, 'train_multiclassaccuracy': tensor(0.4852), 'train_multiclassprecision': tensor(0.4852), 'val_eval_multiclassaccuracy': tensor(0.4560), 'val_eval_multiclassprecision': tensor(0.4560)}\n",
      "\u001b[2m\u001b[36m(PYUFedPer pid=2057154)\u001b[0m {'train-loss': 1.1922087669372559, 'train_multiclassaccuracy': tensor(0.4670), 'train_multiclassprecision': tensor(0.4670), 'val_eval_multiclassaccuracy': tensor(0.3560), 'val_eval_multiclassprecision': tensor(0.3560)}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "Train Processing: :  90%|▉| 36/40 [00:02<00:00, 13.91it/s, {'multiclassaccuracy': 0.50240004, 'multiclassprec\n",
      "Train Processing: :   0%|                                                             | 0/40 [00:00<?, ?it/s]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch 5/16\n",
      "\u001b[2m\u001b[36m(PYUFedPer pid=2057089)\u001b[0m {'train-loss': 0.8698802590370178, 'train_multiclassaccuracy': tensor(0.5130), 'train_multiclassprecision': tensor(0.5130), 'val_eval_multiclassaccuracy': tensor(0.4780), 'val_eval_multiclassprecision': tensor(0.4780)}\n",
      "\u001b[2m\u001b[36m(PYUFedPer pid=2057154)\u001b[0m {'train-loss': 1.0981041193008423, 'train_multiclassaccuracy': tensor(0.4918), 'train_multiclassprecision': tensor(0.4918), 'val_eval_multiclassaccuracy': tensor(0.3470), 'val_eval_multiclassprecision': tensor(0.3470)}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "Train Processing: :  90%|▉| 36/40 [00:02<00:00, 13.86it/s, {'multiclassaccuracy': 0.5154, 'multiclassprecisio\n",
      "Train Processing: :   0%|                                                             | 0/40 [00:00<?, ?it/s]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch 6/16\n",
      "\u001b[2m\u001b[36m(PYUFedPer pid=2057089)\u001b[0m {'train-loss': 0.806126594543457, 'train_multiclassaccuracy': tensor(0.5232), 'train_multiclassprecision': tensor(0.5232), 'val_eval_multiclassaccuracy': tensor(0.4890), 'val_eval_multiclassprecision': tensor(0.4890)}\n",
      "\u001b[2m\u001b[36m(PYUFedPer pid=2057154)\u001b[0m {'train-loss': 1.0255444049835205, 'train_multiclassaccuracy': tensor(0.5076), 'train_multiclassprecision': tensor(0.5076), 'val_eval_multiclassaccuracy': tensor(0.3490), 'val_eval_multiclassprecision': tensor(0.3490)}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "Train Processing: :  90%|▉| 36/40 [00:02<00:00, 13.59it/s, {'multiclassaccuracy': 0.53040004, 'multiclassprec\n",
      "Train Processing: :   0%|                                                             | 0/40 [00:00<?, ?it/s]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch 7/16\n",
      "\u001b[2m\u001b[36m(PYUFedPer pid=2057089)\u001b[0m {'train-loss': 0.7627297639846802, 'train_multiclassaccuracy': tensor(0.5378), 'train_multiclassprecision': tensor(0.5378), 'val_eval_multiclassaccuracy': tensor(0.4920), 'val_eval_multiclassprecision': tensor(0.4920)}\n",
      "\u001b[2m\u001b[36m(PYUFedPer pid=2057154)\u001b[0m {'train-loss': 0.9629340767860413, 'train_multiclassaccuracy': tensor(0.5230), 'train_multiclassprecision': tensor(0.5230), 'val_eval_multiclassaccuracy': tensor(0.3490), 'val_eval_multiclassprecision': tensor(0.3490)}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "Train Processing: :  90%|▉| 36/40 [00:02<00:00, 13.28it/s, {'multiclassaccuracy': 0.54340005, 'multiclassprec\n",
      "Train Processing: :   0%|                                                             | 0/40 [00:00<?, ?it/s]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch 8/16\n",
      "\u001b[2m\u001b[36m(PYUFedPer pid=2057089)\u001b[0m {'train-loss': 0.7297283411026001, 'train_multiclassaccuracy': tensor(0.5486), 'train_multiclassprecision': tensor(0.5486), 'val_eval_multiclassaccuracy': tensor(0.5080), 'val_eval_multiclassprecision': tensor(0.5080)}\n",
      "\u001b[2m\u001b[36m(PYUFedPer pid=2057154)\u001b[0m {'train-loss': 0.9068249464035034, 'train_multiclassaccuracy': tensor(0.5382), 'train_multiclassprecision': tensor(0.5382), 'val_eval_multiclassaccuracy': tensor(0.3570), 'val_eval_multiclassprecision': tensor(0.3570)}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "Train Processing: :  90%|▉| 36/40 [00:02<00:00, 12.99it/s, {'multiclassaccuracy': 0.5526, 'multiclassprecisio\n",
      "Train Processing: :   0%|                                                             | 0/40 [00:00<?, ?it/s]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch 9/16\n",
      "\u001b[2m\u001b[36m(PYUFedPer pid=2057089)\u001b[0m {'train-loss': 0.7028870582580566, 'train_multiclassaccuracy': tensor(0.5622), 'train_multiclassprecision': tensor(0.5622), 'val_eval_multiclassaccuracy': tensor(0.5170), 'val_eval_multiclassprecision': tensor(0.5170)}\n",
      "\u001b[2m\u001b[36m(PYUFedPer pid=2057154)\u001b[0m {'train-loss': 0.8567927479743958, 'train_multiclassaccuracy': tensor(0.5430), 'train_multiclassprecision': tensor(0.5430), 'val_eval_multiclassaccuracy': tensor(0.3750), 'val_eval_multiclassprecision': tensor(0.3750)}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "Train Processing: :  90%|▉| 36/40 [00:02<00:00, 13.55it/s, {'multiclassaccuracy': 0.56270003, 'multiclassprec\n",
      "Train Processing: :   0%|                                                             | 0/40 [00:00<?, ?it/s]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch 10/16\n",
      "\u001b[2m\u001b[36m(PYUFedPer pid=2057089)\u001b[0m {'train-loss': 0.6805101037025452, 'train_multiclassaccuracy': tensor(0.5726), 'train_multiclassprecision': tensor(0.5726), 'val_eval_multiclassaccuracy': tensor(0.5210), 'val_eval_multiclassprecision': tensor(0.5210)}\n",
      "\u001b[2m\u001b[36m(PYUFedPer pid=2057154)\u001b[0m {'train-loss': 0.8127796649932861, 'train_multiclassaccuracy': tensor(0.5528), 'train_multiclassprecision': tensor(0.5528), 'val_eval_multiclassaccuracy': tensor(0.3980), 'val_eval_multiclassprecision': tensor(0.3980)}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "Train Processing: :  90%|▉| 36/40 [00:02<00:00, 13.28it/s, {'multiclassaccuracy': 0.571, 'multiclassprecision\n",
      "Train Processing: :   0%|                                                             | 0/40 [00:00<?, ?it/s]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch 11/16\n",
      "\u001b[2m\u001b[36m(PYUFedPer pid=2057089)\u001b[0m {'train-loss': 0.6612253189086914, 'train_multiclassaccuracy': tensor(0.5828), 'train_multiclassprecision': tensor(0.5828), 'val_eval_multiclassaccuracy': tensor(0.5280), 'val_eval_multiclassprecision': tensor(0.5280)}\n",
      "\u001b[2m\u001b[36m(PYUFedPer pid=2057154)\u001b[0m {'train-loss': 0.7743844985961914, 'train_multiclassaccuracy': tensor(0.5592), 'train_multiclassprecision': tensor(0.5592), 'val_eval_multiclassaccuracy': tensor(0.4150), 'val_eval_multiclassprecision': tensor(0.4150)}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "Train Processing: :  90%|▉| 36/40 [00:02<00:00, 13.08it/s, {'multiclassaccuracy': 0.5771, 'multiclassprecisio\n",
      "Train Processing: :   0%|                                                             | 0/40 [00:00<?, ?it/s]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch 12/16\n",
      "\u001b[2m\u001b[36m(PYUFedPer pid=2057089)\u001b[0m {'train-loss': 0.6445005536079407, 'train_multiclassaccuracy': tensor(0.5882), 'train_multiclassprecision': tensor(0.5882), 'val_eval_multiclassaccuracy': tensor(0.5380), 'val_eval_multiclassprecision': tensor(0.5380)}\n",
      "\u001b[2m\u001b[36m(PYUFedPer pid=2057154)\u001b[0m {'train-loss': 0.7407561540603638, 'train_multiclassaccuracy': tensor(0.5660), 'train_multiclassprecision': tensor(0.5660), 'val_eval_multiclassaccuracy': tensor(0.4290), 'val_eval_multiclassprecision': tensor(0.4290)}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "Train Processing: :  90%|▉| 36/40 [00:02<00:00, 12.67it/s, {'multiclassaccuracy': 0.5827, 'multiclassprecisio\n",
      "Train Processing: :   0%|                                                             | 0/40 [00:00<?, ?it/s]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch 13/16\n",
      "\u001b[2m\u001b[36m(PYUFedPer pid=2057089)\u001b[0m {'train-loss': 0.6300440430641174, 'train_multiclassaccuracy': tensor(0.5930), 'train_multiclassprecision': tensor(0.5930), 'val_eval_multiclassaccuracy': tensor(0.5470), 'val_eval_multiclassprecision': tensor(0.5470)}\n",
      "\u001b[2m\u001b[36m(PYUFedPer pid=2057154)\u001b[0m {'train-loss': 0.7111290693283081, 'train_multiclassaccuracy': tensor(0.5724), 'train_multiclassprecision': tensor(0.5724), 'val_eval_multiclassaccuracy': tensor(0.4390), 'val_eval_multiclassprecision': tensor(0.4390)}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "Train Processing: :  90%|▉| 36/40 [00:02<00:00, 12.13it/s, {'multiclassaccuracy': 0.587, 'multiclassprecision\n",
      "Train Processing: :   0%|                                                             | 0/40 [00:00<?, ?it/s]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch 14/16\n",
      "\u001b[2m\u001b[36m(PYUFedPer pid=2057089)\u001b[0m {'train-loss': 0.617355465888977, 'train_multiclassaccuracy': tensor(0.5964), 'train_multiclassprecision': tensor(0.5964), 'val_eval_multiclassaccuracy': tensor(0.5500), 'val_eval_multiclassprecision': tensor(0.5500)}\n",
      "\u001b[2m\u001b[36m(PYUFedPer pid=2057154)\u001b[0m {'train-loss': 0.684819757938385, 'train_multiclassaccuracy': tensor(0.5776), 'train_multiclassprecision': tensor(0.5776), 'val_eval_multiclassaccuracy': tensor(0.4620), 'val_eval_multiclassprecision': tensor(0.4620)}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "Train Processing: :  90%|▉| 36/40 [00:03<00:00, 11.92it/s, {'multiclassaccuracy': 0.59099996, 'multiclassprec\n",
      "Train Processing: :   0%|                                                             | 0/40 [00:00<?, ?it/s]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch 15/16\n",
      "\u001b[2m\u001b[36m(PYUFedPer pid=2057089)\u001b[0m {'train-loss': 0.6059290170669556, 'train_multiclassaccuracy': tensor(0.6012), 'train_multiclassprecision': tensor(0.6012), 'val_eval_multiclassaccuracy': tensor(0.5540), 'val_eval_multiclassprecision': tensor(0.5540)}\n",
      "\u001b[2m\u001b[36m(PYUFedPer pid=2057154)\u001b[0m {'train-loss': 0.6612443327903748, 'train_multiclassaccuracy': tensor(0.5808), 'train_multiclassprecision': tensor(0.5808), 'val_eval_multiclassaccuracy': tensor(0.4750), 'val_eval_multiclassprecision': tensor(0.4750)}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "Train Processing: :  90%|▉| 36/40 [00:03<00:00, 11.73it/s, {'multiclassaccuracy': 0.5965, 'multiclassprecisio\n",
      "Train Processing: :   0%|                                                             | 0/40 [00:00<?, ?it/s]"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch 16/16\n",
      "\u001b[2m\u001b[36m(PYUFedPer pid=2057089)\u001b[0m {'train-loss': 0.5955421924591064, 'train_multiclassaccuracy': tensor(0.6094), 'train_multiclassprecision': tensor(0.6094), 'val_eval_multiclassaccuracy': tensor(0.5630), 'val_eval_multiclassprecision': tensor(0.5630)}\n",
      "\u001b[2m\u001b[36m(PYUFedPer pid=2057154)\u001b[0m {'train-loss': 0.6399480700492859, 'train_multiclassaccuracy': tensor(0.5836), 'train_multiclassprecision': tensor(0.5836), 'val_eval_multiclassaccuracy': tensor(0.4830), 'val_eval_multiclassprecision': tensor(0.4830)}\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "Train Processing: :  90%|▉| 36/40 [00:03<00:00, 11.48it/s, {'multiclassaccuracy': 0.601, 'multiclassprecision\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "\u001b[2m\u001b[36m(PYUFedPer pid=2057089)\u001b[0m {'train-loss': 0.5859984159469604, 'train_multiclassaccuracy': tensor(0.6142), 'train_multiclassprecision': tensor(0.6142), 'val_eval_multiclassaccuracy': tensor(0.5650), 'val_eval_multiclassprecision': tensor(0.5650)}\n",
      "\u001b[2m\u001b[36m(PYUFedPer pid=2057154)\u001b[0m {'train-loss': 0.620567262172699, 'train_multiclassaccuracy': tensor(0.5878), 'train_multiclassprecision': tensor(0.5878), 'val_eval_multiclassaccuracy': tensor(0.5020), 'val_eval_multiclassprecision': tensor(0.5020)}\n"
     ]
    }
   ],
   "source": [
    "history = fl_model.fit(\n",
    "    train_data,\n",
    "    train_label,\n",
    "    validation_data=(test_data, test_label),\n",
    "    epochs=16,\n",
    "    batch_size=128,\n",
    "    aggregate_freq=4,\n",
    ")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "id": "8677450e-87a7-4102-bdca-21311f9cba09",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "dict_keys(['global_history', 'local_history'])\n"
     ]
    }
   ],
   "source": [
    "print(history.keys())"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "1c697c55-1ebf-44cd-b5cf-bf5ba031f723",
   "metadata": {},
   "source": [
    "FedAvg结果"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "id": "32a3d9fc-5eb3-479b-9f87-e4dac63ade12",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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zj0Grv5MufNn4oE8zmnx4sX861//4tSpU8bxTwCurq4mMUVERKBWX/wtfcaMGTz88MNkZmYSEBDADz/8gE6n46677rp6T0QQugCR/AhCD2cwGAB53I+Xl1ez/Zf6QG2JJEl88803VFVVtZhIFBQUUFlZiZ2dHQMHDiQwMJDvv/+e22+/nZUrV1JTU8Ott97a9idzAVu2bGHy5MkMHz6cf/3rX3h7e6PRaFi6dKnJIOWr6UItKXq93jiO6Vznt/oAvPrqq8ybN497772Xl19+GRcXF5RKJY8//rjx79YW06dP5+9//ztfffUVzz33HF9++SUDBgwgIiKizdcShK5MJD+C0MOFhIQA4OHhwZgxYy54XEBAANDUUnSutLQ0k/ubNm0iJyeHBQsW0KdPH5N9paWl3H///fz666/GQba33HILixcvRqvV8t133xEYGMjAgQObPfaJEydMWkiKi4spLS295HP86aefsLKyYs2aNVhaWhq3L1261OS4kJAQDAYDhw8fJjY2tsVrnX29UlNTm7VEncvZ2ZmysrJm2zMzMwkODr5kzAA//vgj11xzDZ999pnJ9rKyMtzc3Exi2rlzJzqdDo1Gc8Hrubi4cN111/HVV19xxx13sG3bNhYtWtSqWAShOxFjfgShhxs/fjwODg68+uqr6HS6ZvsLCwsB8Pb2JjY2luXLl1NeXm7cv27dOg4fPmxyztkur6eeeoqbb77Z5DZ79mzCwsKazfqqq6tj+fLlrF69mltuucXkeqNHj0atVvPvf//bZPsHH3zQqueoUqlQKBQm3UYZGRn8+uuvJsdNmTIFpVLJggULmrWsSJIEwLhx47C3t2fhwoXU1ta2eAzICclff/1FfX29cdv//vc/srOzWxXz2bjPvSbIRSNPnz5tsm3q1KkUFRW1+Hqcf/5dd93F4cOHeeqpp1CpVEyfPr3V8QhCdyFafgShh3NwcODf//43d911F/Hx8UyfPh13d3eysrL47bffGDJkiPFDdeHChVx33XUMHTqUe++9l5KSEt5//32ioqKMA5br6ur46aefGDt2bLMBwWdNnjyZxYsXU1BQgIeHB/Hx8YSGhvL8889TV1fXrMvL09OTxx57jLfffpvJkyczYcIEDhw4wKpVq3Bzc7vkYN3rrruOd955hwkTJnD77bdTUFDAhx9+SGhoKAcPHjQedzaGl19+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VjNt2jT27dtn9/kVHBzME088wVdffaV2ea1Gbns5yJw5c5gxYwapqamkpaWxYMECampqmDlzptqltbhZs2bx73//m08++QQPDw9bvwAvLy9cXFxUrq7leXh4XNWfyc3NDV9f3w7Zz+m3v/0tAwcO5M9//jOTJk1ix44dLF68mMWLF6tdWquYMGECzz//POHh4fTs2ZM9e/bw0ksvce+996pdWouprq7m8OHDtufHjh0jJycHHx8fwsPDmT17Ns899xwxMTFERkYyd+5cgoODmThxonpF/wI/dr1BQUHcfvvtZGdns3r1asxms+0zzMfHB2dnZ7XK/tl+6v39YbhzcnIiMDCQHj16OLpUx1F7uFln8uqrryrh4eGKs7OzkpaWpmzbtk3tkloFcM3H22+/rXZpDtORh7oriqJ89tlnSmJiomIwGJS4uDhl8eLFapfUaiorK5VHH31UCQ8PV4xGoxIVFaU89dRTislkUru0FrNhw4Zr/pudMWOGoijW4e5z585VAgICFIPBoIwcOVIpLCxUt+hf4Meu99ixY9f9DNuwYYPapf8sP/X+/lBnGOquUZQONE2pEEIIIcRPkD4/QgghhOhUJPwIIYQQolOR8COEEEKITkXCjxBCCCE6FQk/QgghhOhUJPwIIYQQolOR8COEEEKITkXCjxBCNIFGo2HVqlVqlyGEaAESfoQQbd4999yDRqO56jF27Fi1SxNCtEOytpcQol0YO3Ysb7/9tt02g8GgUjVCiPZMWn6EEO2CwWAgMDDQ7tGlSxfAektq4cKFjBs3DhcXF6Kiovj444/tjs/NzWXEiBG4uLjg6+vLfffdR3V1td0+b731Fj179sRgMBAUFMRDDz1k93pZWRm33HILrq6uxMTE8Omnn7buRQshWoWEHyFEhzB37lxuu+029u7dy9SpU5kyZQoFBQUA1NTUMGbMGLp06cLOnTtZvnw569atsws3CxcuZNasWdx3333k5uby6aef0r17d7uf8cwzzzBp0iT27dvHjTfeyNSpU7lw4YJDr1MI0QLUXllVCCF+yowZMxSdTqe4ubnZPZ5//nlFURQFUO6//367Y9LT05UHHnhAURRFWbx4sdKlSxelurra9vrnn3+uaLVapbi4WFEURQkODlaeeuqp69YAKE8//bTteXV1tQIoX375ZYtdpxDCMaTPjxCiXRg+fDgLFy602+bj42P7/YABA+xeGzBgADk5OQAUFBSQlJSEm5ub7fWMjAwsFguFhYVoNBrOnDnDyJEjf7SG3r17237v5uaGp6cnpaWlP/eShBAqkfAjhGgX3NzcrroN1VJcXFyatJ+Tk5Pdc41Gg8ViaY2ShBCtSPr8CCE6hG3btl31PD4+HoD4+Hj27t1LTU2N7fUtW7ag1Wrp0aMHHh4eREREkJWV5dCahRDqkJYfIUS7YDKZKC4uttum1+vx8/MDYPny5aSmpjJo0CA++OADduzYwZtvvgnA1KlTmT9/PjNmzOBPf/oT586d4+GHH2batGkEBAQA8Kc//Yn7778ff39/xo0bR1VVFVu2bOHhhx927IUKIVqdhB8hRLuwZs0agoKC7Lb16NGDAwcOANaRWEuXLuXBBx8kKCiIDz/8kISEBABcXV356quvePTRR+nXrx+urq7cdtttvPTSS7ZzzZgxg7q6Ov7xj3/w+OOP4+fnx+233+64CxRCOIxGURRF7SKEEOKX0Gg0rFy5kokTJ6pdihCiHZA+P0IIIYToVCT8CCGEEKJTkT4/Qoh2T+7eCyGaQ1p+hBBCCNGpSPgRQgghRKci4UcIIYQQnYqEHyGEEEJ0KhJ+hBBCCNGpSPgRQgghRKci4UcIIYQQnYqEHyGEEEJ0KhJ+hBBCCNGp/H8/NuwWJjctzAAAAABJRU5ErkJggg==",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "from matplotlib import pyplot as plt\n",
    "\n",
    "# Draw accuracy values for training & validation\n",
    "plt.plot(history[\"global_history\"][\"multiclassaccuracy\"])\n",
    "plt.plot(history[\"global_history\"][\"val_multiclassaccuracy\"])\n",
    "plt.plot(history[\"local_history\"][\"alice_train_multiclassaccuracy\"])\n",
    "plt.plot(history[\"local_history\"][\"bob_train_multiclassaccuracy\"])\n",
    "plt.plot(history[\"local_history\"][\"alice_val_eval_multiclassaccuracy\"])\n",
    "plt.plot(history[\"local_history\"][\"bob_val_eval_multiclassaccuracy\"])\n",
    "plt.title(\"FedAvg accuracy\")\n",
    "plt.ylabel(\"Accuracy\")\n",
    "plt.xlabel(\"Epoch\")\n",
    "plt.legend([\"Train\", \"Valid\", \"alice_T\", \"bob_T\", \"alice_V\", \"bob_V\"], loc=\"upper left\")\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "0ddc8d7e-87a8-44a2-bd43-8425cc6af308",
   "metadata": {},
   "source": [
    "FedPer结果"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "id": "46be3e38-9992-4f68-b51f-e74cdad0bed9",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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zfWVSiVz587l3Xffpba2Fp1Ox6effoq9vT233HJLx92IQNDDEAJIIBAAsoUE5DggPz+/ZsfV6st/uQgKCmLy5MltXvfhhx9m2rRpLZ7TECvUwPkWkrbYsGEDCxcu5MYbb+Rvf/sbPj4+tsDf1NTUdtzB78disbQ43tK93H///axdu5aHHnqIUaNG4erqikKh4LbbbrP9vNrD/Pnzefnll/nuu++YM2cOn332Gdddd10TC55A0NsQAkggEAAQGRkJgI+PT6tiBSA0NBRotBidT3JycruvGxERAYBGo2nzupfD119/TUREBN98800TN9WFrq7IyEg2b95MaWlpq1agyMhIrFYriYmJTYKnL8Td3Z3y8vImY0ajkby8vHbte8GCBbzyyiu2Mb1e32zdyMhITp48edH14uLiGDx4MJ9++ilBQUFkZWXx5ptvXvJ+BIKrEZEGLxAIADnexsXFhRdffLGJq6iBoqIiAPz9/Rk0aBDr169v4o7ZunUriYmJ7b6uj48P48eP57333mtRJDRc93JoiK0534W0f/9+9u3b1+S8m266CUmSeO6555qt0TD3xhtvRKlUsmLFimZWmPPXj4yM5Oeff25y/P3332/VAtTavs9fE+DNN99stsZNN93EsWPHWixBcOH8O+64gy1btrBq1So8PT1FAUpBr0dYgAQCASDH+Lz77rvccccdDBkyhNtuuw1vb2+ysrLYuHEj11xzDW+99RYAK1euZNasWYwZM4ZFixZRWlrKm2++SWxsLNXV1e2+9ttvv82YMWMYMGAAS5YsISIigoKCAvbt20dOTg7Hjh27rHu67rrr+Oabb5g9ezazZs0iPT2d1atXExMT02SfEyZM4I477uCNN97g7NmzTJ8+HavVyu7du5kwYQLLli0jKiqKJ598kueff56xY8fyxz/+Ea1Wy8GDBwkICLDV07nrrru49957uemmm5gyZQrHjh1j8+bNtlIDl7rvTz75BFdXV2JiYti3bx/btm3D09OzyXl/+9vf+Prrr7nllltYtGgRQ4cOpbS0lO+//57Vq1czcOBA27m33347jzzyCN9++y1Lly5Fo9Fc1s9UILhq6LoENIFA0Jk0pF0fPHiwzfN27twpTZs2TXJ1dZXs7e2lyMhIaeHChdJvv/3W5Lx///vfUv/+/SWtVivFxMRI33zzjbRgwYIW0+D//Oc/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",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "from matplotlib import pyplot as plt\n",
    "\n",
    "# Draw accuracy values for training & validation\n",
    "plt.plot(history[\"global_history\"][\"multiclassaccuracy\"])\n",
    "plt.plot(history[\"global_history\"][\"val_multiclassaccuracy\"])\n",
    "plt.plot(history[\"local_history\"][\"alice_train_multiclassaccuracy\"])\n",
    "plt.plot(history[\"local_history\"][\"bob_train_multiclassaccuracy\"])\n",
    "plt.plot(history[\"local_history\"][\"alice_val_eval_multiclassaccuracy\"])\n",
    "plt.plot(history[\"local_history\"][\"bob_val_eval_multiclassaccuracy\"])\n",
    "plt.title(\"FedPer accuracy\")\n",
    "plt.ylabel(\"Accuracy\")\n",
    "plt.xlabel(\"Epoch\")\n",
    "plt.legend([\"Train\", \"Valid\", \"alice_T\", \"bob_T\", \"alice_V\", \"bob_V\"], loc=\"upper left\")\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "ac3655d3-369a-4b2a-909d-badb5aa71262",
   "metadata": {},
   "source": [
    "使用10个客户端进行100个epoch的FedPer和FedAvg对比实验"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "id": "f0406971-ff23-4aa8-8268-0cf5d2f45dc0",
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "2023-12-09 02:47:52,888\tINFO worker.py:1538 -- Started a local Ray instance.\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Files already downloaded and verified\n",
      "Files already downloaded and verified\n",
      "the sample size of client1 is 5000, random classes are [2 8 4 9].\n",
      "the sample size of client2 is 5000, random classes are [2 9 6 4].\n",
      "the sample size of client3 is 5000, random classes are [4 1 5 0].\n",
      "the sample size of client4 is 5000, random classes are [5 4 1 2].\n",
      "the sample size of client5 is 5000, random classes are [3 8 4 9].\n",
      "the sample size of client6 is 5000, random classes are [9 5 2 4].\n",
      "the sample size of client7 is 5000, random classes are [8 1 7 0].\n",
      "the sample size of client8 is 5000, random classes are [8 5 0 2].\n",
      "the sample size of client9 is 5000, random classes are [8 6 9 0].\n",
      "the sample size of client10 is 5000, random classes are [8 4 7 2].\n",
      "the sample size of client1 is 1000, random classes are [2 8 4 9].\n",
      "the sample size of client2 is 1000, random classes are [2 9 6 4].\n",
      "the sample size of client3 is 1000, random classes are [4 1 5 0].\n",
      "the sample size of client4 is 1000, random classes are [5 4 1 2].\n",
      "the sample size of client5 is 1000, random classes are [3 8 4 9].\n",
      "the sample size of client6 is 1000, random classes are [9 5 2 4].\n",
      "the sample size of client7 is 1000, random classes are [8 1 7 0].\n",
      "the sample size of client8 is 1000, random classes are [8 5 0 2].\n",
      "the sample size of client9 is 1000, random classes are [8 6 9 0].\n",
      "the sample size of client10 is 1000, random classes are [8 4 7 2].\n"
     ]
    }
   ],
   "source": [
    "sf.shutdown()\n",
    "sf.init(\n",
    "    [\n",
    "        \"client1\",\n",
    "        \"client2\",\n",
    "        \"client3\",\n",
    "        \"client4\",\n",
    "        \"client5\",\n",
    "        \"client6\",\n",
    "        \"client7\",\n",
    "        \"client8\",\n",
    "        \"client9\",\n",
    "        \"client10\",\n",
    "        \"charlie\",\n",
    "    ],\n",
    "    address=\"local\",\n",
    ")\n",
    "(\n",
    "    client1,\n",
    "    client2,\n",
    "    client3,\n",
    "    client4,\n",
    "    client5,\n",
    "    client6,\n",
    "    client7,\n",
    "    client8,\n",
    "    client9,\n",
    "    client10,\n",
    "    charlie,\n",
    ") = (\n",
    "    sf.PYU(name)\n",
    "    for name in [\n",
    "        \"client1\",\n",
    "        \"client2\",\n",
    "        \"client3\",\n",
    "        \"client4\",\n",
    "        \"client5\",\n",
    "        \"client6\",\n",
    "        \"client7\",\n",
    "        \"client8\",\n",
    "        \"client9\",\n",
    "        \"client10\",\n",
    "        \"charlie\",\n",
    "    ]\n",
    ")\n",
    "\n",
    "(train_data, train_label), (test_data, test_label) = load_cifar10(\n",
    "    parts={\n",
    "        client1: 0.1,\n",
    "        client2: 0.1,\n",
    "        client3: 0.1,\n",
    "        client4: 0.1,\n",
    "        client5: 0.1,\n",
    "        client6: 0.1,\n",
    "        client7: 0.1,\n",
    "        client8: 0.1,\n",
    "        client9: 0.1,\n",
    "        client10: 0.1,\n",
    "    },\n",
    "    is_torch=True,\n",
    "    num_classes_per_client=4,\n",
    ")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "ba18672b-6baf-4d87-a20c-43ca83fefae4",
   "metadata": {},
   "source": [
    "先使用FedPer进行训练"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "b2d2d391-d9f1-4d24-8521-e8b3cb8b7b8e",
   "metadata": {},
   "outputs": [],
   "source": [
    "device_list = [\n",
    "    client1,\n",
    "    client2,\n",
    "    client3,\n",
    "    client4,\n",
    "    client5,\n",
    "    client6,\n",
    "    client7,\n",
    "    client8,\n",
    "    client9,\n",
    "    client10,\n",
    "]\n",
    "server = charlie\n",
    "aggregator = SecureAggregator(server, device_list)\n",
    "\n",
    "\n",
    "# spcify params\n",
    "fl_model = FLModel(\n",
    "    server=server,\n",
    "    device_list=device_list,\n",
    "    model=model_def,\n",
    "    aggregator=aggregator,\n",
    "    strategy=\"fed_per\",  # fl strategy\n",
    "    backend=\"torch\",\n",
    "    Kp=2,\n",
    ")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "2f30792f-0506-45ec-927f-0761c56b4378",
   "metadata": {},
   "outputs": [],
   "source": [
    "history = fl_model.fit(\n",
    "    train_data,\n",
    "    train_label,\n",
    "    validation_data=(test_data, test_label),\n",
    "    epochs=100,\n",
    "    batch_size=128,\n",
    "    aggregate_freq=4,\n",
    ")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "787940c1-2ebe-4b91-a39f-f5784d9006fe",
   "metadata": {},
   "source": [
    "FedAvg训练"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "18184669-189c-4415-a31f-9778a165e911",
   "metadata": {},
   "outputs": [],
   "source": [
    "# spcify params\n",
    "fl_model_avg = FLModel(\n",
    "    server=server,\n",
    "    device_list=device_list,\n",
    "    model=model_def,\n",
    "    aggregator=aggregator,\n",
    "    strategy=\"fed_avg_w\",\n",
    "    backend=\"torch\",\n",
    ")\n",
    "history_ = fl_model_avg.fit(\n",
    "    train_data,\n",
    "    train_label,\n",
    "    validation_data=(test_data, test_label),\n",
    "    epochs=100,\n",
    "    batch_size=128,\n",
    "    aggregate_freq=4,\n",
    ")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "bacd7d70-03bc-494e-b5ba-87bb2ae9b1d8",
   "metadata": {},
   "source": [
    "可以看到在每个客户端只有4类图像样本的情况下，使用FedPer个性化联邦策略训练的全局客户端平均精度优于FedAvg策略。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "id": "50206fb2-b48e-49f9-a204-f69c5b7c2b1d",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjcAAAHHCAYAAABDUnkqAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8WgzjOAAAACXBIWXMAAA9hAAAPYQGoP6dpAACemklEQVR4nOzdd3xUVfr48c/MJJNMek9Ir3QIECD0KoYiVbGAgIjuuq5tWfenuGvf1a9rw87uimBDsSEoICpdBKS3QEJJSCO998nM/f1xyUBMKCEhk/K8X695xZx7595nhph5cs5zztEoiqIghBBCCNFOaK0dgBBCCCFEc5LkRgghhBDtiiQ3QgghhGhXJLkRQgghRLsiyY0QQggh2hVJboQQQgjRrkhyI4QQQoh2RZIbIYQQQrQrktwIIYQQol2R5EYIK7nrrrsIDQ21dhjtyjPPPINGo7F2GEIIK5PkRogGLF++HI1G0+Dj8ccfv273vfg+Wq0Wf39/brzxRrZs2XLd7tlStmzZcsn39Pbbb7/u9zeZTPj7+6PRaFi/fv11v58QwnpsrB2AEK3Zc889R1hYWJ22nj17Xtd7jhs3jrlz56IoCklJSbz77ruMGTOGtWvXMmHChOt675bw0EMPMWDAgDptLdGDtWnTJs6dO0doaCiffvppu3gvhRANk+RGiMuYMGEC/fv3b9F7du7cmTvvvNPy/fTp0+nduzeLFy9u8gdyWVkZjo6OTQ2xSYYPH84tt9zS4vf95JNP6NevH/PmzeOJJ55oFe9Fa1dTU4PZbEav11s7FCEaRYalhGiC9evXM3z4cBwdHXF2dmbSpEkcO3as3nnffvstPXv2xN7enp49e7Jq1aqrvkevXr3w8vIiKSnJ0nbixAluueUWPDw8sLe3p3///qxZs6bO82qH1rZu3cr999+Pj48PgYGBDd4jKysLGxsbnn322XrHEhIS0Gg0vP322wAYjUaeffZZoqKisLe3x9PTk2HDhvHTTz9d9Wu6nN27dzN+/HhcXV1xcHBg5MiR7Nixo955v/zyCwMGDMDe3p6IiAj+85//XPKaFRUVrFq1ittvv51bb72ViooKVq9ebTn+yiuvoNFoOHv2bL3nLlq0CL1eT0FBgaXtnXfeITw8HIPBwMCBA9m+fTujRo1i1KhRV3x9y5YtY8yYMfj4+GBnZ0f37t157733Gjx3/fr1jBw5EmdnZ1xcXBgwYAArVqyoc87u3buZOHEi7u7uODo60rt3b9544w3L8UvF9fuar+TkZDQaDa+88gqLFy8mIiICOzs74uPjqa6u5qmnniImJgZXV1ccHR0ZPnw4mzdvrndds9nMG2+8Qa9evbC3t8fb25vx48ezd+9eAEaOHEl0dHSDr7dLly7ExcVd6S0U4ookuRHiMoqKisjNza3zqPXxxx8zadIknJyceOmll3jyySeJj49n2LBhJCcnW8778ccfufnmm9FoNLz44otMmzaN+fPnW37ZX0lBQQEFBQV4enoCcOzYMQYNGsTx48d5/PHHefXVV3F0dGTatGkNJk33338/8fHxPPXUU5esF/L19WXkyJF88cUX9Y6tXLkSnU7HzJkzAbVo99lnn2X06NG8/fbb/P3vfyc4OJj9+/df1espKSmp956azWZAHToaMWIExcXFPP3007zwwgsUFhYyZswYfvvtN8s1jhw5wo033kh2djbPPPMM8+fP5+mnn75k0rhmzRpKS0u5/fbb8fPzY9SoUXz66aeW47feeisajabB1//FF19w44034u7uDsB7773HAw88QGBgIP/+978ZPnw406ZNIy0t7ape/3vvvUdISAhPPPEEr776KkFBQdx///288847dc5bvnw5kyZNIj8/n0WLFvF///d/9OnThx9++MFyzk8//cSIESOIj4/n4Ycf5tVXX2X06NF8//33VxVLQ5YtW8Zbb73FH/7wB1599VU8PDwoLi7m/fffZ9SoUbz00ks888wz5OTkEBcXx8GDB+s8f8GCBTzyyCMEBQXx0ksv8fjjj2Nvb8+uXbsAmDNnDocPH+bo0aN1nrdnzx4SExPr9FoKcc0UIUQ9y5YtU4AGH4qiKCUlJYqbm5ty77331nleZmam4urqWqe9T58+SqdOnZTCwkJL248//qgASkhISJ3nA8qCBQuUnJwcJTs7W9m9e7cyduxYBVBeffVVRVEUZezYsUqvXr2UyspKy/PMZrMyZMgQJSoqqt5rGDZsmFJTU3PF1/yf//xHAZQjR47Uae/evbsyZswYy/fR0dHKpEmTrni939u8efMl39OkpCTFbDYrUVFRSlxcnGI2my3PKy8vV8LCwpRx48ZZ2qZNm6bY29srZ8+etbTFx8crOp1OaejX2k033aQMHTrU8v1///tfxcbGRsnO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vn31niPEtZKeGyGugYuLC++99x5z5syhX79+3H777Xh7e5OSksLatWsZOnSoZV2YF198kUmTJjFs2DDuvvtu8vPzeeutt+jRowelpaWNvvc777zDsGHD6NWrF/feey/h4eFkZWWxc+dO0tLSOHToUJNe22233cadd97Ju+++S1xcXL1i1e7duzNq1ChiYmLw8PBg7969fPXVVzzwwANNuq9Wq+X9999nwoQJ9OjRg/nz5xMQEEB6ejqbN2/GxcWF7777DoBnn32WH374geHDh3P//fdTU1NjeU8PHz5sueann35Knz59CAoKavCeU6ZM4cEHH2T//v3069cPHx8fRo8ezWuvvUZJSUmdQmoAvV7PM888w4MPPsiYMWO49dZbSU5OZvny5URERFyxkPfGG29Er9czefJk/vjHP1JaWsr//vc/fHx8OHfunOU8FxcXXn/9de655x4GDBjArFmzcHd359ChQ5SXl/Phhx+i1Wp57733mDx5Mn369GH+/Pl06tSJEydOcOzYMTZs2ADA3XffzWuvvUZcXBwLFiwgOzubJUuW0KNHD4qLi6/q3+amm27im2++Yfr06UyaNImkpCSWLFlC9+7d6/wMjx49mjlz5vDmm29y8uRJxo8fj9lsZvv27YwePbrOz0jfvn3p2bMnX375Jd26daNfv35XFYsQV8Xa2ZUQrdHV9nps3rxZiYuLU1xdXRV7e3slIiJCueuuu5S9e/fWOe/rr79WunXrptjZ2Sndu3dXvvnmm3pTcRXl6npuFEVRTp8+rcydO1fx8/NTbG1tlYCAAOWmm25Svvrqq0a/ht8rLi5WDAaDAiiffPJJveP//Oc/lYEDBypubm6KwWBQunbtqvzrX/9qsAfrYlfqual14MABZcaMGYqnp6diZ2enhISEKLfeequycePGOudt3bpViYmJUfR6vRIeHq4sWbJEefrppy09N/v27VMA5cknn7zkvZKTkxVA+ctf/mJp+9///qcAirOzc71ek1pvvvmmEhISotjZ2SkDBw5UduzYocTExCjjx4+/7GtTFEVZs2aN0rt3b8Xe3l4JDQ1VXnrpJeWDDz6o03Nz8blDhgxRDAaD4uLiogwcOFD57LPP6pzzyy+/KOPGjVOcnZ0VR0dHpXfv3spbb71V55xPPvlECQ8PV/R6vdKnTx9lw4YNl5wK3lDPjdlsVl54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",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "from matplotlib import pyplot as plt\n",
    "\n",
    "# Draw accuracy values for training & validation\n",
    "plt.plot(history[\"global_history\"][\"multiclassaccuracy\"])\n",
    "plt.plot(history[\"global_history\"][\"val_multiclassaccuracy\"])\n",
    "plt.plot(history_[\"global_history\"][\"multiclassaccuracy\"])\n",
    "plt.plot(history_[\"global_history\"][\"val_multiclassaccuracy\"])\n",
    "plt.title(\"FedPer vs FedAvg accuracy\")\n",
    "plt.ylabel(\"Accuracy\")\n",
    "plt.xlabel(\"Epoch\")\n",
    "plt.legend([\"Per_T\", \"Per_V\", \"Avg_T\", \"Avg_V\"], loc=\"upper left\")\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "318d1ff3-1daf-4336-beb8-c9632a8f56b3",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.8.18"
  },
  "pycharm": {
   "stem_cell": {
    "cell_type": "raw",
    "metadata": {
     "collapsed": false
    },
    "source": [
     "##%% md\n",
     " FedPer "
    ]
   }
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
